const EventEmitter = require('events');
class MyeventEmitter extends EventEmitter {}

function callBackA() {
  console.log('log A');
    
}

function callBackB() {
  console.log('log B');
}

const myEventEmitter = new MyeventEmitter();
// log监听的任务队列有两个[callBackA,callBackB]
// 当事件emit发出后，将依次执行这两个回调直到执行完毕
// removeListener必须在emit发出前执行才能立即阻止回调运行
myEventEmitter.on('log', callBackA);
myEventEmitter.on('log', callBackB);

setInterval(() => {
  myEventEmitter.emit('log');

  // myEventEmitter.removeListener('log', callBackA);
  // myEventEmitter.removeListener('log', callBackB); 

  // 清除监听器log注册在任务队列中的所有回调
  myEventEmitter.removeAllListeners('log'); 
               
}, 1500);


